Apparatus for machine tool feedrate override using limiting parameters corresponding to actual spindle speed

ABSTRACT

An apparatus, machine tool, and method for adaptively controlling a feedrate of a machine tool are provided in which a plurality of maximum spindle power and/or radial load values, each corresponding to a spindle rotational speed, are received, stored and applied. Additionally, the current spindle power and/or the current radial load, along with the current spindle rotational speed may be received. The current spindle power and/or the current radial load may be compared to the maximum spindle power and/or radial load corresponding to the current spindle rotational speed, such that the feedrate may be reduced if the current spindle power and/or the current radial load exceed the corresponding maximum spindle power and/or radial load for the current spindle rotational speed or increased if the current spindle power and the current radial load are below the corresponding maximum spindle power and/or radial load for the current spindle rotational speed.

FIELD OF THE INVENTION

The present invention relates generally to controls for machine tools,and more particularly, to an apparatus capable of controlling thefeedrate override of a machine tool using limiting parameterscorresponding to actual spindle speed.

BACKGROUND OF THE INVENTION

Machine tools are material cutting machines that are used in themanufacturing process for many different products. There are many typesof machine tools, such as milling machines, lathes, and grindingmachines. A milling machine is typically used to cut (i.e., mill) adesired shape into a raw piece of material (termed a workpiece). Amilling machine typically comprises a movable table to which theworkpiece is affixed. The table is typically capable of moving in twoperpendicular directions, and the two different directions are typicallytermed the X-axis and the Y-axis. The table is typically connected toone or more devices (e.g., leadscrews) capable of translating the shaftrotation of one or more servo motors into the linear movement of thetable. The movement of the table is therefore typically controlled bycontrolling the shaft rotation of the servo motors. The power suppliedto each servo motor is typically regulated by corresponding servoamplifiers.

The table, and therefore the workpiece, is moved in a controlled mannerrelative to a cutting tool to enable the cutting tool to remove materialfrom the workpiece to create the desired final product. The cutting tooltypically attaches to a rotating shaft supported by rotational bearing,termed a spindle. The rotation of the spindle is driven by a spindlemotor, with the power to the spindle motor regulated by a correspondingspindle amplifier. The spindle, along with the cutting tool, may also bemoved relative to the workpiece to further control the removal ofmaterial from the workpiece. For example, the spindle may be moved upand down relative to the plane on which the machine tool sits. To enablethe movement of the spindle relative to the workpiece, the spindle maybe connected to a leadscrew which is in turn connected to a servo motor.This up and down direction is typically termed the Z-axis. While atypical three axis (i.e., X, Y, and Z) milling machine using servomotors and leadscrews is described above, many other configurations ofmilling machines exist. For example, milling machines may have five ormore controlled axes. Additionally, milling machines may useelectromagnetic linear drives, rather than servo motors and leadscrews,to move the table and the workpiece.

The rotation of all the servo motors are precisely controlled andcoordinated to produce the desired movement of the workpiece relative tothe cutting tool to create the desired finished shape. Additionally, therotational speed of the spindle, and therefore the cutting tool, mayalso be controlled by controlling the rotational speed of the spindlemotor. The servo and spindle motors and amplifiers are typicallycontrolled by a special purpose controller, termed a computer numericalcontrol (CNC). In addition to controlling the trajectory of theworkpiece relative to the cutting tool, the CNC also controls the speedat which the workpiece is moved relative to the cutting tool. This speedis typically termed feedrate. The CNC is typically programmed to operatethe machine tool at a specified feedrate desirably to utilize themachine capability without damaging the cutting tool or the spindle, orexceeding workpiece accuracy requirements.

The movement of the workpiece relative to the cutting tool as theworkpiece is being milled creates both a tangential force and a radialforce on the cutting tool. A torque is generated by the tangential forcemultiplied by the cutting tool radius and a bending moment (termedradial load) is generated by the radial force multiplied by the cuttingtool length. The torque and radial load must typically be kept below apredefined maximum to prevent damage to the cutting tool and/or thespindle. The torque is typically monitored by monitoring the outputpower or current of the spindle amplifier. The radial load is typicallymonitored using strain gauges on the spindle structure. Circumstancesmay exist where the movement of the workpiece relative to the cuttingtool at the programmed feedrate while the workpiece is being milledproduces excessive torque and/or excessive radial loading. Adaptivecontrol systems have been developed to react to the occurrence of suchcircumstances, such as the adaptive control system disclosed in commonlyassigned U.S. Pat. No. 4,698,773 to Jeppsson, entitled Adaptive FeedRate Override System for a Milling Machine, the contents of which areincorporated herein by reference in its entirety. Adaptive controlsystems typically repeatedly monitor the spindle power and the radialload as the workpiece is being milled. If the power and/or the radialload exceed a respective predefined maximum, the adaptive control systemwill typically cause the feedrate to be reduced to correspondinglydecrease the spindle power and/or radial load. The adaptive controlsystem may be a separate device capable of communicating with the CNC,or may be a functional element (e.g., hardware and/or software) withinthe CNC. The adaptive control system will typically cause this feedrateadjustment by modifying a feedrate override (FROV) parameter of the CNC.The FROV parameter is typically defined by a percentage, and the CNCtypically is capable of using the FROV parameter to adjust the feedrateby that percentage. The change of the FROV parameter may be commanded bya machine operator and/or by the adaptive control system. For example,consider a machine tool in which the programmed feedrate is 20 inchesper minute and the operator sets the FROV parameter to 100%. If the FROVis changed to 90% by the adaptive control system, the CNC will reducethe feedrate to 18 inches per minute. If both the power and radial loadlater drop below the predefined respective limits, the adaptive controlsystem may attempt to increase the FROV back to 100% (or potentially toa FROV value greater than 100%) to increase the machining productivity.

The predefined maximum power and radial load may be determined based on,for example, the power capacity of the spindle and/or the spindleamplifier and the spindle radial load capability. The maximum power andradial load are typically loaded into parameter values in the adaptivecontrol system at the beginning of an operation. These parameter valuesmay be overwritten with new values as necessary. Known adaptive controlsystems typically use a single maximum value for each of spindle powerand radial load, irrespective of the rotational speed of the spindle.However, the available spindle power and the spindle capability ofsustaining the radial load both vary over the operating rotational speedrange of the spindle. As such, known adaptive control systems may failto fully utilize the spindle capacity by using maximum power and radialload values established for one spindle speed while operating at adifferent spindle speed.

BRIEF SUMMARY OF THE INVENTION

An apparatus, machine tool, and method for adaptively controlling afeedrate of a machine tool are therefore provided in which a pluralityof maximum spindle power and/or radial load values, each correspondingto a spindle rotational speed, are received, stored and applied.Additionally, the current spindle power and/or the current radial load,along with the current spindle rotational speed may be received. Thecurrent spindle power and/or the current radial load may be compared tothe maximum spindle power and/or radial load corresponding to thecurrent spindle rotational speed, such that the feedrate may be reducedif the current spindle power and/or the current radial load exceed thecorresponding maximum spindle power and/or radial load for the currentspindle rotational speed.

In this regard, an apparatus for adaptively controlling a feedrate of amachine tool comprises a processing device capable of receiving spindleparameter data, the spindle parameter data comprising a plurality ofspindle parameter limits and a plurality of corresponding spindlerotational speeds. The processing device may be further capable ofreceiving a current spindle value and a current spindle rotational speedand then comparing the current spindle value to a respective spindleparameter limit having a corresponding spindle rotational speed that hasa predefined relationship to the current spindle rotational speed. Theprocessing device may be further capable of adjusting the feedrate ofthe machine tool based on the comparison between the current spindlevalue and the respective spindle parameter limit. The plurality ofspindle parameter limits and the current spindle value may both beselected from the group comprising spindle power and spindle radialload.

The processing device may be capable of comparing the current spindlevalue to a respective spindle parameter limit having a correspondingspindle rotational speed that has a predefined relationship to thecurrent spindle rotational speed by comparing the current spindle valueto a respective spindle parameter limit having a corresponding spindlerotational speed that is equal to the current spindle rotational speed.

In one embodiment, the apparatus further comprises a storage elementcapable of storing the spindle parameter data such that the processingdevice receives the spindle parameter data from the storage element.

The processing device may adjust the feedrate of the machine tool byadjusting a feedrate override value. The processing device may furtheradjust the feedrate override value based on a user-selected feedrateoverride value. In one embodiment, the processing device adjusts,thefeedrate of the machine tool by outputting a feedrate override value toa computer numeric control that is controlling the machine tool.

The processing device may reduce the feedrate of the machine tool if thecurrent spindle value is greater than the respective spindle parameterlimit and may increase the feedrate of the machine tool if the currentspindle value is less than the respective spindle parameter limit.Alternatively, the processing device may increase the feedrate if thefeedrate is less than a predefined maximum feedrate.

In one embodiment, the plurality of spindle parameter limits is a firstplurality of spindle parameter limits, the plurality of correspondingspindle rotational speeds is a first plurality of corresponding spindlerotational speeds and the current spindle value is a first currentspindle value. The spindle parameter data may comprise a secondplurality of spindle parameter limits and a second plurality ofcorresponding spindle rotational speeds. The processing device may befurther capable of receiving a second current spindle value. Theprocessing device may be further capable of comparing a respective oneof the second plurality of spindle parameter limits having acorresponding second spindle rotational speed that has a predefinedrelationship to the current spindle rotational speed, such that theprocessing device is further capable of adjusting the feedrate of themachine tool based on the comparison between the second current spindlevalue and the respective second spindle parameter limit. The processingdevice may be capable of comparing a respective one of the secondplurality of spindle parameter limits having a corresponding secondspindle rotational speed that has a predefined relationship to thecurrent spindle rotational speed by comparing a respective one of thesecond plurality of spindle parameter limits having a correspondingsecond spindle rotational speed that is equal to the current spindlerotational speed. The processing device may reduce the feedrate of themachine tool if the first current spindle value is greater than therespective first spindle parameter limit or if the second currentspindle value is greater than the respective second spindle parameterlimit.

The processing device may be further capable of calculating a spindleparameter limit corresponding to the current spindle rotational speed ifthe spindle parameter data does not contain a spindle parameter limithaving a corresponding spindle rotational speed that is equal to thecurrent spindle rotational speed. The processing device may calculatethe spindle parameter limit by interpolating between one of the spindleparameter limits having a corresponding spindle rotational speed that isgreater than the current spindle rotational speed and one of the spindleparameter limits having a corresponding spindle rotational speed that isless than the current spindle rotational speed.

The processing device may adjust the feedrate of the machine tool basedon the ratio of the respective spindle parameter limit to the currentspindle value.

In addition to the apparatus for adaptively controlling the feedrate ofa machine tool as described above, other aspects of the invention aredirected to corresponding machine tools and methods for providingadaptive control of feedrate.

By adaptively controlling the feedrate of the machine tool according tospindle parameters corresponding to the current spindle rotationalspeed, embodiments of the invention fully utilize the spindle capacityby using the maximum power and radial load values established for thecurrent spindle speed rather than potentially using a lower maximumvalue (and thereby a lower feedrate) established for an entire spindlespeed range or potentially using a higher maximum value (and thereby ahigher feedrate) established for an entire spindle speed range andconsequently causing potential spindle damage.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described the invention in general terms, reference will nowbe made to the accompanying drawings, which are not necessarily drawn toscale, and wherein:

FIG. 1 is a functional block diagram of a system for providing adaptivecontrol of the feedrate of a machine tool, according to one embodimentof the invention;

FIG. 2 is a graph of the relationship between the maximum spindle powerand the spindle rotational speed for a typical spindle;

FIG. 3 is a graph of the relationship between the maximum radial loadand the spindle rotational speed for a typical spindle; and

FIG. 4 is a flowchart illustrating the operation of providing adaptivecontrol of the feedrate of a machine tool, according to one embodimentof the invention.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the invention now will be described more fullyhereinafter with reference to the accompanying drawings, in which some,but not all embodiments of the inventions are shown. Indeed, theseinventions may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. Like numbers refer to like elements throughout.

FIG. 1 is a functional block diagram of a system 10 for providingadaptive control of the feedrate of a machine tool, according to oneembodiment of the invention. The system may comprise an adaptivefeedrate control apparatus 20, in turn comprising a processing device 22and a storage element 24. The processing device 22 could be, forexample, a computing device, central processing unit, processor,controller, programmable gate array, or some other device that processesdata. The system may further comprise a computer numerical control (CNC)12, an operator panel 18, a plurality of servo amplifiers 26 and servomotors 28, and a spindle amplifier 30 and spindle motor 32. The servomotors are typically connected to leadscrews (not shown), which are inturn connected to the movable surfaces of the machine tool. The spindlemotor is typically connected to a spindle 34, with the cutting tool 36affixed to the spindle such that the rotation of the spindle motorcauses the rotation of the cutting tool. While FIG. 1 illustrates aseparate spindle motor and spindle, many machine tools use a motorizedspindle in which the spindle motor is integral with the spindle. The CNC12 typically comprises a processing device 14 and a storage element 16.The processing device 14 could be, for example, a computing device,central processing unit, processor, controller, programmable gate array,or some other device that processes data.

The storage element 16 of the CNC typically stores programs (termed partprograms) that define the desired trajectories of the workpiece (notshown) relative to the cutting tool 36 of the machine tool, as well asthe desired feedrates of the movements. The processing device 14 of theCNC typically executes a stored part program and translates the desiredtrajectory and feedrate of the stored program into the required commandsto the servo amplifiers 26. The servo amplifiers provide the requiredpower to the servo motors 28 to produce the desired trajectory at thedesired feedrate. As discussed above, the desired feedrate may beadjusted by changing a feedrate override (FROV) parameter. In additionto changes to the FROV provided by the adaptive feedrate controlapparatus 20, as discussed in detail below, the FROV may also be changedbased on input from an operator of the machine tool. The CNC 12 istypically connected to an operator panel 18. The operator paneltypically comprises input devices such as switches and pushbuttons, andoutput devices such as indicator lights and a display screen. Theoperator panel will typically include a feedrate override selectorswitch, which enables the operator to change the FROV as desired.

The adaptive feedrate control apparatus 20 may be capable of adjustingthe FROV parameter if a spindle parameter, such as spindle power orspindle load, exceeds a predefined maximum. The maximum allowed spindlepower and radial load both typically vary over the operating rotationalspeed range of the spindle, as is illustrated in FIGS. 2 and 3. FIG. 2illustrates the maximum allowed spindle power (in kilowatts (KW)) versusthe spindle rotational speed (in revolutions per minute (RPM)) for atypical spindle, and FIG. 3 illustrates the maximum allowed radial load(in Newton-meters (Nm)) versus the spindle rotational speed (in RPM) fora typical spindle. The power versus speed data and radial load versusspeed data illustrated by FIGS. 2 and 3, respectively, may becollectively termed spindle parameter data. The processing device 22 ofthe adaptive feedrate control apparatus 20 may receive spindle parameterdata (for spindle power and/or radial load) and may store the data instorage element 24. The processing device 22 may receive the data in anysuitable format, such as in a table. The processing device may receiveseparate tables for each parameter, or may receive a combined table asillustrated by Table 1.

TABLE 1 Spindle Speed Max. Spindle Max. Radial (RPM) Power (KW) Load(Nm) 2000 23 2375 4000 45 2375 6000 68 2375 8000 90 2325 10000 90 212512000 90 2000 14000 90 1750 16000 90 1625 18000 83 1575 20000 75 1500Table 1 illustrates a typical spindle parameter data table. However,spindle parameter data tables may contain less or more data than isillustrated in Table 1. The processing device 22 may receive the datafrom a user of the system, or the data may be embedded in the partprogram stored in the CNC 12 and transferred to the adaptive feedratecontrol apparatus 20 during execution of the part program. Whileexemplary embodiments of the invention described herein are capable ofcontrolling the feedrate of a machine tool according to two spindleparameters (spindle power and/or spindle load) corresponding to thecurrent spindle rotational speed, embodiments of the invention are notlimited to using two spindle parameters or to specifically using spindlepower and/or spindle load parameters. Additional and/or alternativespindle parameters may be used to control the feedrate of a machinetool, in accordance with embodiments of the invention.

In addition to receiving the maximum spindle power and/or maximum radialload data, the processing device 22 also typically receives the currentspindle rotational speed and the current spindle power and/or radialload (depending on whether the adaptive feedrate control apparatus ismonitoring one or both values). The processing device 22 will typicallyreceive such data repeatedly during the execution of the program by theCNC 12, such as every 0.1 milliseconds. The processing device 22 mayreceive the current spindle rotational speed and the current spindlepower from the spindle amplifier, as illustrated by line 38. Theprocessing device 22 may receive the radial load from strain gauges (notshown) installed on the spindle 34, as illustrated by line 40.

After the adaptive feedrate control apparatus 20 receives the currentspindle rotational speed, the apparatus typically determines the maximumspindle power and/or the maximum radial load corresponding to thecurrent spindle rotational speed. The apparatus may determine themaximum value(s) by accessing the parameter data stored in the storageelement 24, as discussed above. However, the parameter data may not havemaximum value(s) stored for every possible spindle rotational speed. Forexample, a spindle speed range may be 0 to 20000 RPM, and the parameterdata would typically not have 20000 data points. If the current spindlerotational speed is not contained in the stored parameter data, theadaptive feedrate control apparatus 20 may determine the maximum spindlepower and/or maximum radial load from the available data, such as byinterpolating between the maximum value(s) corresponding with a spindlespeed in the data that is higher than the current spindle speed and themaximum value(s) corresponding with a spindle speed in the data that islower than the current spindle speed.

The processing device 22 may then compare the received current spindlepower and/or radial load to the respective maximum spindle power and/orradial load corresponding to the current spindle rotational speed. Ifthe current spindle power and/or radial load exceed the respectivemaximum, the processing device 22 would typically determine a FROV tosend to the CNC 12 to direct the CNC to reduce the feedrate. Asdiscussed above, the FROV is typically expressed as a percentage that isused to scale (up or down) the programmed feedrate.

While FIG. 1 illustrates the adaptive feedrate control apparatus 20 as aseparate device from the CNC, the functionality of the adaptive feedratecontrol apparatus may alternatively be performed within the CNC, such asby the processing device 14, with the spindle parameter data stored inthe storage element 16.

Referring now to FIG. 4, the operation of providing adaptive control ofthe feedrate of a machine tool is illustrated, according to oneembodiment of the invention. The operation illustrated in FIG. 4 istypically performed repeatedly, for example by processing device 22,during the execution of a program by the CNC. The processing devicewould typically determine the current FROV (“F(current)”). See block 60.If the operation illustrated by FIG. 4 has not yet been performed, thenthe current FROV would likely be the feedrate set by the overrideswitch. However, the FROV may be some other value if the operation hasbeen previously performed. The processing device would typically receivethe FROV set by the operator (“F(switch)”) using a feedrate overrideswitch. See block 62. The processing device would typically receive thecurrent spindle speed, such as from the spindle amplifier as discussedabove. See block 64. The processing device would typically receive thecurrent spindle value (e.g., spindle power and/or radial load)(“V(current)”). See block 66. As discussed above, the current spindlepower value may be received from the spindle amplifier and the radialload may be received from strain gauges. Using the current spindlerotational speed, the processing device would typically access thespindle parameter data stored in the storage element to determine themaximum allowed spindle value (e.g., spindle power and/or radial load)(“V(max)”) corresponding to the current spindle rotational speed orcalculate the V(max) through interpolation if the current spindlerotational speed is not contained in the stored parameter data. Seeblock 68.

The processing device may adjust the FROV based on the relationshipbetween the current spindle value and the maximum spindle parametervalue corresponding to the current spindle speed. The processing devicemay decrease the FROV if the current spindle value exceeds the maximumvalue for the current spindle speed. This will typically cause the CNCto reduce the feedrate and therefore reduce the spindle value.Alternatively, the processing device may increase the FROV if thecurrent spindle value is less than the maximum value for the currentspindle speed. There are many different methods by which the processingdevice may adjust the FROV based on the relationship between the currentspindle value and the maximum spindle parameter value corresponding tothe current spindle speed. The processing device may calculate the newFROV (“F(new)”) using the formula: F(new)=F(switch)*(V(max)/V(current)).See block 70. If V(max) is less than V(current), the processing devicewould decrease the FROV using this formula. If V(max) is greater thanV(current), the processing device would increase the FROV using thisformula.

The above formula may result in a new FROV, F(new), greater thanF(switch). The processing device may or may not send a new FROV that isgreater than F(switch) to the CNC, depending on several factors such asthe capability of the machine tool to support a feedrate higher than theprogrammed feedrate multiplied by F(switch). FIG. 4 illustrates anoperation in which the processing device would not send a new FROVgreater than F(switch) to the CNC. After the processing devicedetermines the new FROV, the processing device may determine if the newFROV is greater than or equal to F(switch). See block 72. If the newFROV is less than F(switch), the processing device may output the newFROV to the CNC such that the new FROV becomes the current FROV andscales (up or down) the programmed feedrate. See block 74. If the newFROV is greater than or equal to F(switch), the processing device mayoutput a FROV equal to F(switch) to the CNC, such that the CNC moves theworkpiece relative to the cutting tool at the programmed feedratemultiplied by F(switch). See block 76. As discussed above, blocks 60through 76 of FIG. 4 would typically be repeatedly executed while theCNC executes the part program, or possibly only during that portion ofthe part program where milling of the workpiece is occurring.

According to one exemplary aspect of the invention, the functionsperformed by one or more of the entities of the system, such asprocessing device 22, may be performed by various means, such ashardware and/or firmware, including those described above, alone and/orunder control of a computer program product. The computer programproduct for performing the methods of embodiments of the inventionincludes a computer-readable storage medium, such as the non-volatilestorage medium, and computer-readable program code portions, such as aseries of computer instructions, embodied in the computer-readablestorage medium.

In this regard, FIG. 4 is a flowchart of methods and program productsaccording to the invention. It will be understood that each step of theflowchart, and combinations of steps in the flowchart, can beimplemented by computer program instructions. These computer programinstructions may be loaded onto a computer or other programmableapparatus to produce a machine, such that the instructions which executeon the computer or other programmable apparatus create means forimplementing the functions specified in the flowchart step(s). Thesecomputer program instructions may also be stored in a computer-readablememory that can direct a computer or other programmable apparatus tofunction in a particular manner, such that the instructions stored inthe computer-readable memory produce an article of manufacture includinginstruction means which implement the function specified in theflowchart step(s). The computer program instructions may also be loadedonto a computer or other programmable apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart step(s).

Accordingly, steps of the flowchart support combinations of means forperforming the specified functions, combinations of steps for performingthe specified functions and program instruction means for performing thespecified functions. It will also be understood that each step of theflowchart, and combinations of steps in the flowchart, can beimplemented by special purpose hardware-based computer systems whichperform the specified functions or steps, or combinations of specialpurpose hardware and computer instructions.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

1. An apparatus for controlling a feedrate of a machine tool, theapparatus comprising: a processing device capable of receiving spindleparameter data, the spindle parameter data comprising a plurality ofspindle parameter limits and a plurality of corresponding spindlerotational speeds; the processing device further capable of receiving acurrent spindle value and a current spindle rotational speed; theprocessing device configured to determine a respective spindle parameterlimit by interpolating between the spindle parameter limits of thespindle parameter data based upon a relationship of the current spindlerotational speed to the corresponding spindle rotational speeds of thespindle parameter data, the processing device further capable ofcomparing the current spindle value to respective spindle parameterlimit; and the processing device further capable of adjusting thefeedrate of the machine tool based on the comparison between the currentspindle value and the the respective spindle parameter limit.
 2. Theapparatus of claim 1, wherein the processing device is capable ofcomparing the current spindle value to a respective spindle parameterlimit having a corresponding spindle rotational speed that has apredefined relationship to the current spindle rotational speed bycomparing the current spindle value to a respective spindle parameterlimit having a corresponding spindle rotational speed that is equal tothe current spindle rotational speed.
 3. The apparatus of claim 1,wherein the plurality of spindle parameter limits and the currentspindle value are both selected from the group comprising spindle powerand spindle radial load.
 4. The apparatus of claim 1, furthercomprising: a storage element capable of storing the spindle parameterdata such that the processing device receives the spindle parameter datafrom the storage element.
 5. The apparatus of claim 1, wherein theprocessing device adjusts the feedrate of the machine tool by adjustinga feedrate override value.
 6. The apparatus of claim 5, wherein theprocessing device further adjusts the feedrate override value based on auser-selected feedrate override value.
 7. The apparatus of claim 1,wherein the processing device adjusts the feedrate of the machine toolby outputting a feedrate override value to a computer numeric controlthat is controlling the machine tool.
 8. The apparatus of claim 1,wherein the processing device reduces the feedrate of the machine toolif the current spindle value is greater than the respective spindleparameter limit.
 9. The apparatus of claim 1, wherein the processingdevice increases the feedrate of the machine tool if the current spindlevalue is less than the respective spindle parameter limit.
 10. Theapparatus of claim 9, wherein the processing device increases thefeedrate if the feedrate is less than a predefined maximum feedrate. 11.An apparatus for controlling a feedrate of a machine tool, the apparatuscomprising: a processing device capable of receiving spindle parameterdata, the spindle parameter data comprising first and second pluralitiesof spindle parameter limits and first and second pluralities ofcorresponding spindle rotational speeds; wherein the processing deviceis further capable of receiving first and second current spindle values;wherein the processing device is further capable of comparing the firstcurrent spindle value to a respective first spindle parameter limithaving a corresponding first spindle rotational speed that has apredefined relationship to the current spindle rotational speed, whereinthe processing device is also capable of comparing the second currentspindle value to a respective one of the second plurality of spindleparameter limits having a corresponding second spindle rotational speedthat has a predefined relationship to the current spindle rotationalspeed; wherein the processing device is further capable of adjusting thefeedrate of the machine tool based on the comparison between at leastone of: (i) the first current spindle value and the respective firstspindle parameter limit and (ii) the second current spindle value andthe respective second spindle parameter limit.
 12. The apparatus ofclaim 11, wherein the processing device reduces the feedrate of themachine tool if the first current spindle value is greater than therespective first spindle parameter limit or if the second currentspindle value is greater than the respective second spindle parameterlimit.
 13. The apparatus of claim 1, wherein the processing device isfurther capable of calculating a spindle parameter limit correspondingto the current spindle rotational speed if the spindle parameter datadoes not contain a spindle parameter limit having a correspondingspindle rotational speed that is equal to the current spindle rotationalspeed; and wherein the processing device calculates the spindleparameter limit by interpolating between one of the spindle parameterlimits having a corresponding spindle rotational speed that is greaterthan the current spindle rotational speed and one of the spindleparameter limits having a corresponding spindle rotational speed that isless than the current spindle rotational speed.
 14. A method forcontrolling a feedrate of a machine tool, the method comprising:receiving spindle parameter data, the spindle parameter data comprisinga plurality of spindle parameter limits and a plurality of correspondingspindle rotational speeds; receiving a current spindle value and acurrent spindle rotational speed; determining a respective spindleparameter limit by interpolating between the spindle parameter limits ofthe spindle parameter data based upon a relationship of the currentspindle rotational speed to the corresponding spindle rotational speedsof the spindle parameter data; comparing the current spindle value tothe respective spindle parameter limit; and adjusting the feedrate ofthe machine tool based on the comparison between the current spindlevalue and the respective spindle parameter limit.
 15. The method ofclaim 14, wherein comparing the current spindle value to a respectivespindle parameter limit having a corresponding spindle rotational speedthat has a predefined relationship to the current spindle rotationalspeed comprises comparing the current spindle value to a respectivespindle parameter limit having a corresponding spindle rotational speedthat is equal to the current spindle rotational speed.
 16. The method ofclaim 14, wherein the plurality of spindle parameter limits and thecurrent spindle value are both selected from the group comprisingspindle power and spindle radial load.
 17. The method of claim 14,wherein adjusting the feedrate of the machine tool comprises adjusting afeedrate override value.
 18. A method for controlling a feedrate of amachine tool, the method comprising: receiving spindle parameter data,the spindle parameter data comprising first and second pluralities ofspindle parameter limits and first and second pluralities ofcorresponding spindle rotational speeds; receiving first and secondcurrent spindle values and a current spindle rotational speed; comparingthe first current spindle value to a respective first spindle parameterlimit having a corresponding first spindle rotational speed that has apredefined relationship to the current spindle rotational speed and alsocomparing the second current spindle value to a respective one of thesecond spindle parameter limits having a corresponding second spindlerotational speed that has a predefined relationship to the currentspindle rotational speed; and adjusting the feedrate of the machine toolbased on the comparison between at least one of: (i) the first currentspindle value and the respective first spindle parameter limit and (ii)the second current spindle value and the respective one of the secondspindle parameter limits.
 19. The method of claim 18, wherein adjustingthe feedrate of the machine tool comprises reducing the feedrate of themachine tool if the first current spindle value is greater than therespective one of the first spindle parameter limits or if the secondcurrent spindle value is greater than the respective one of the secondspindle parameter limits.